-
Notifications
You must be signed in to change notification settings - Fork 396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove accesses to global placement state during placement stage #2669
Conversation
…locs with get_block_locs()
@vaughnbetz and @AlexandreSinger |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @soheilshahrouz this looks good to me. I left some non-functional comments.
it will be destructed when going out of scope
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly ensuring Doxygen comments are up to date ...
@@ -712,7 +712,7 @@ bool TimingReporter::nearly_equal(const Time& lhs, const Time& rhs) const { | |||
|
|||
size_t TimingReporter::estimate_point_print_width(const TimingPath& path) const { | |||
size_t width = 60; //default | |||
for(auto subpath : {path.clock_launch_path(), path.data_arrival_path(), path.clock_capture_path()}) { | |||
for(const auto& subpath : {path.clock_launch_path(), path.data_arrival_path(), path.clock_capture_path()}) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pushing back to tatum is OK; it's leading user is VTR. But I agree this should be pushed back if you change it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few more commenting suggestions and maybe some code motion. Thanks for the huge refactoring!
… methods of BlkLocRegistry
CI is down. How about you run VTR and Titan again to make sure they're still fine (almost certainly are); if they look good go ahead and merge. Also, please push back Tatum. |
Re-launched CI. |
@vaughnbetz |
This PR removes all accesses to
g_vpr.placement()
member variables that contain information about block locations and are subject to change during the placement stage. Block location information is instead stored in a local object that is copied into the global placement state at the end of the placement stage.Motivation and Context
Using local objects to store block locations is the first step to run multiple instances of annealer in parallel. With this PR, each annealer can have its own
block_locs
,grid_blocks
, andpin_locations
.How Has This Been Tested?
In progress
Types of changes
Checklist: